type TrimRight<S extends string> = S extends `${infer LeftRest}${
    | " "
    | "\t"
    | "\n"}`
    ? TrimRight<LeftRest>
    : S
type Trim<S extends string> =TrimLeft<TrimRight<S>>
